$(function(){
    var imgEdit   = $('img.edit');
    var imgDelete = $('img.delete');
    var btnNew    = $('#btnNew');
    var btnSave   = $('#btnSave');
    var btnUpdate = $('#btnUpdate');
    var btnCancel = $('#btnCancel');
    var edtDdd    = $('input[name=ddd]');
    var edtPhone  = $('input[name=telefone]');
    
    $('input:first').focus();
    
    edtDdd.setMask({mask:'9', type:'repeat', 'maxLength': 2});
    edtPhone.setMask({mask:'9999-9999'});    
    
    btnNew.click(function(){
        var id_usuario = $(this).attr('rel');
        
        if (id_usuario)
        {
            App.pageRedirect('telefone.jsp?id_usuario=' +id_usuario);        
        }
        else
        {
            App.pageRedirect('telefone.jsp');            
        }        
    });
    
    imgEdit.live('click', function()
    {
        var id_telefone = $(this).attr('rel');
        
        App.pageRedirect('telefone.jsp?id_telefone=' +id_telefone);
    });
    
    imgDelete.live('click', function()
    {
        var id_telefone = $(this).attr('rel');
        
        if (!confirm('Deseja realmente excluir o cadastro nº ' +id_telefone+ ' ?')) 
            return;
               
        jQuery.ajax({
            cache      : false,
            dataType   : 'json',
            type       : 'post',
            url        : 'telefone_controller.jsp',
            data       : {
                'id_telefone' : id_telefone,
                'action'      : 'delete' 
            }, 		  
            beforeSend : function(xhr) {		
                //TODO
            },		   
            complete   : function(xhr) {
                //TODO
            },
            error      : function(xhr) {
                //TODO
            },
            success    : function(data) {
                if (data.error === true) 
                {
                    alert(data.message);
                }
                else if (data.error === false) 
                {
                    alert(data.message);
                    App.pageRefresh();
                }
                else 
                {
                    alert('Ocorreu um erro ao executar');					
                }
            }
        });
    });
    
    btnSave.click(function()
    {       
        if ($('#formTelefone').valid())
            App.formSave('#formTelefone', 'App.pageRedirect("telefone_lista.jsp")');
    }); 
    
    btnUpdate.click(function()
    {    
        if ($('#formTelefone').valid())
            App.formUpdate('#formTelefone', 'App.pageRedirect("telefone_lista.jsp")');
    });
    
    btnCancel.click(function()
    {      
        var id_usuario = $(this).attr('rel');
        
        if (id_usuario)
        {
            App.pageRedirect('telefone_lista.jsp?id_usuario=' +id_usuario);
        }
        else
        {
            App.pageRedirect('telefone_lista.jsp');
        }        
    });

    $('#formTelefone').validate({
        rules: {
            id_usuario: {
                required:true
            },
            ddd: {
                required: true,
                minlength: 2
            },
            telefone: {
                required: true,
                minlength: 8
            }
        },
        messages: {
            id_usuario: {
                required: "Informe o usuário."
            },
            ddd: {
                required: " Informe o DDD.",
                minlength: " Informe um DDD v&aacute;lido."
            },
            telefone: {
                required: " Informe o telefone.",
                minlength: " Informe um telefone v&aacute;lido."
            }
        }
    });
});